package com.ruoyi.teaching.domain;

import com.ruoyi.common.core.domain.entity.SysDept;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.math.BigDecimal;

/**
 * 学生报课对象 teaching_student_apply
 *
 * @author ruoyi
 * @date 2022-10-17
 */
public class TeachingStudentApply extends BaseEntity {
    private static final long serialVersionUID = 1L;


    /**
     * 报课ID
     */
    private Long applyId;


    /**
     * 学生ID
     */
    private Long studentId;

    /**
     * 学生姓名
     */
    private String studentName;


    /**
     * 课程ID
     */
    private Long courseId;

    /**
     * 总课时
     */
    @Excel(name = "总课时")
    private Integer lessonCount;

    /**
     * 剩余课时
     */
    @Excel(name = "剩余课时")
    private Integer lessonRemain;

    /**
     * 消耗课时
     */
    @Excel(name = "消耗课时")
    private Integer lessonConsume;

    /**
     * 实付学费
     */
    @Excel(name = "实付金额")
    private BigDecimal amountPaid;

    /**
     * 创建者id
     */
    @Excel(name = "创建者id")
    private Long createId;

    /**
     * 状态
     */
    @Excel(name = "状态（0正常 1停用）")
    private String status;

    /**
     * 删除标志
     */
    @Excel(name = "删除标志（0代表存在 2代表删除）")
    private String delFlag;

    /**
     * 课程对象
     */
    private TeachingCourse teachingCourse;

    /**
     * 学生对象
     *
     * @param studentId
     */
    private TeachingStudent teachingStudent;

    /**
     * 学校对象
     * @return
     */
    private TeachingSchool teachingSchool;

    public BigDecimal getAmountPaid() {
        return amountPaid;
    }

    public void setAmountPaid(BigDecimal amountPaid) {
        this.amountPaid = amountPaid;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public TeachingSchool getTeachingSchool() {
        return teachingSchool;
    }

    public void setTeachingSchool(TeachingSchool teachingSchool) {
        this.teachingSchool = teachingSchool;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public void setStudentId(Long studentId) {
        this.studentId = studentId;
    }

    public Long getStudentId() {
        return studentId;
    }

    public void setCourseId(Long courseId) {
        this.courseId = courseId;
    }

    public Long getCourseId() {
        return courseId;
    }

    public void setLessonCount(Integer lessonCount) {
        this.lessonCount = lessonCount;
    }

    public Integer getLessonCount() {
        return lessonCount;
    }

    public void setLessonRemain(Integer lessonRemain) {
        this.lessonRemain = lessonRemain;
    }

    public Integer getLessonRemain() {
        return lessonRemain;
    }

    public void setLessonConsume(Integer lessonConsume) {
        this.lessonConsume = lessonConsume;
    }

    public Integer getLessonConsume() {
        return lessonConsume;
    }

    public void setCreateId(Long createId) {
        this.createId = createId;
    }

    public Long getCreateId() {
        return createId;
    }

    public TeachingCourse getTeachingCourse() {
        if (teachingCourse == null) {
            teachingCourse = new TeachingCourse();
        }
        return teachingCourse;
    }

    public void setTeachingCourse(TeachingCourse teachingCourse) {
        this.teachingCourse = teachingCourse;
    }

    public TeachingStudent getTeachingStudent() {
        if (teachingStudent == null) {
            teachingStudent = new TeachingStudent();
        }
        return teachingStudent;
    }

    public void setTeachingStudent(TeachingStudent teachingStudent) {
        this.teachingStudent = teachingStudent;
    }

    public Long getApplyId() {
        return applyId;
    }

    public void setApplyId(Long applyId) {
        this.applyId = applyId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("studentId", getStudentId())
                .append("applyId", getApplyId())
                .append("studentName", getStudentName())
                .append("courseId", getCourseId())
                .append("schoolId", getSchoolId())
                .append("lessonCount", getLessonCount())
                .append("lessonRemain", getLessonRemain())
                .append("lessonConsume", getLessonConsume())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createId", getCreateId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("teachingCourse", getTeachingCourse())
                .append("teachingStudent", getTeachingStudent())
                .append("teachingSchool", getTeachingSchool())
                .toString();
    }
}
